S100 Computers

HomeS-100 Boards HistoryNew BoardsSoftwareBoards For Sale
ForumOther Web SitesNewsIndex   
 
An S-100 Bus Display Board
Introduction

If you do any kind of serious work with your
S-100 system being able to see at a glance the status of many S100 bus signals is very useful. A number of years ago we developed our System Monitor Board (SMB) which does this well.  It's now in its third version and has settled down to be a very reliable board.  It is however a somewhat complex board requiring a GAL programmer and without a set of ribbon cable connections is difficult to read in the bus.  It can also be a big undertaking for a real beginner. Indeed it is at times a bit of an overkill. 

Many of us can remember the "Jade Bus Probe" which came out in the late 1970's.  It was an extra large S100 bus board that extended above all the other boards in the bus and displayed continuously many of the important S100 bus signals in real time.  It was extremely useful in developing/debugging boards.  It did however suffer from a few things.  A number of the S100 bus signals had to travel up the board thereby increasing their effective bus length. While fine with CPU's of the time, it does not work well with our newer "modern day" boards that run in the 8-10MHz range.   That said,  from time to time I use it as a "quick and dirty "  tool to find on what is going on with a board that is acting up.

I would now like to introduce an upgrade on the concept, a S100 Bus Display Board.  
  Display Board

The first thing you notice about this board is that it is large.  It is meant to sit in the bus so that the bus signals are always visible when other boards are nearby.  The board draws from well established circuits in our SMB, Extender Board and MSDOS Support board.   Here is a list of its main features.

1.    All 23 address lines are displayed (IEEE 696 Specs). They are latched by the pSync/pWR*/pDBIN signals.
2.    All S100 bus Status and Control lines are displayed. The LED lights up if the signals is active. (This can be low or high).
3.    Because many signals have very short (High or Low) pulses that would be invisible at the LED, the LED signal (not the S100 bus signal),  is stretched to be visible.
4.    All 8 possible Interrupt lines are displayed. Again because these signals have very short the LED signal (not the S100 bus signal), is stretched to be visible. 
5.    For IEEE 696 master/slave transitions all four TMA0-3 lines are displayed.
6.    The board contains circuits to stop the running CPU, single step through individual machine cycles one at a time and later continue. This is done via two push buttons.
7.    The board contains its own logic probe which can be used via a probe wire to display the status of any signal in the bus.
8.    The above logic probe can be jumpered to activate a high and low sounding buzzer as well as the LEDs.
9.    The board has a jumper connection that can be hooked up to a logic analyzer for convenient signal analysis.  In other words all the signals come to one spot.
10.  The board contains 3 LEDs to indicate that the +8V, +16V and -16V power lines are active in the bus.
11.  There are footprints on the board so that it can be powered by a TO-3 78H05 (3A) or by one of the newer switching regulators such as those from EzSBC.COM or Pololu.COM.

BTW, this is a great board for a beginner.  The are no ROMs, GALs or CPLDs on this board.  The circuits are very simple and self contained. 



Step By Step Building the Bus Display Board
The build instructions are fairly simple for this board. As always, first examine the bare board carefully for scratches or damaged traces, use a magnifying glass if need be.  A broken trace is almost impossible to detect by eye on a completed board.  Unlike many of our other boards the traces on this board are quite wide. I don't anticipate any problems.  The linear 78H05 5V regulator can be replaced with an switching EzSBC.com PSu5 or a Pololu D24V2F5 5V regulator.  If you use the TO-3 78H5 regulator be sure to use a mica insulator so the metal of the regulator does not touch the pads below it. 
Please see the very bottom of this page for minor board bugs/corrections before starting your build.

Build the board up in functional steps. Avoid the temptation of adding everything at once and popping it into your S-100 box. Step by step is faster in the end -- trust me. 
Add in all IC sockets, resistors, resistor networks, and 0.1uF caps.   Be very careful to add the resistor networks in their correct orientation. Pin 1 is always the square pad. Likewise be sure the Tantalum capacitors + pin is on the square pad.  Do not add any IC's yet or the two buzzers or push button switches SW1 or SW2.
Add the LED's to display the power lines  (D69, D70 & D71).  Added the power regulator. Place the board in the bus. The LED should light up. 
If you use the SBC 5V regulator be sure and put a washer between the board and the bottom of the regulator. The pins of this regulator are quite fragile and do not fit exactly the holes on the board without bending them inwards very slightly. See the picture below. Here is a picture of the bare board at this stage:- 
  
       Step1         Step 2
   
Your system should boot up. Check you have 5V at the Vcc pin of each IC.
 
We will first add the Address Line Display Circuit. Be sure you add the LED's in their correct orientation. (Normally the longer lead goes into the square pad). 
Add U8, U9, U11, U10, U35 and U36. Add U7 & U14.  Insert the board into your bus.  Normally (with a Z80), only the address lines A0 to A15 will light up.  If you can switch control to one of our 16 bit CPUs all  the address lines will light up.  if you run the Master monitor "A" command the A0-A15 lines should flicker.

We will next add the Data Lines Display Circuit. Again be sure you add the LED's in their correct orientation. The color/size of the LED's are your choice.
Add U12 and U13, U11, U10, U35 and U36. Add U7 & U14.  Insert the board into your bus.  Both the data In and Out lines should flicker.

We will next add the TMA Lines Display Circuit. Again be sure you add the LED's in their correct orientation.
Add U30.  Insert the board into your bus.  Normally these LEDs should be off.  If you have a slave board such as our 8086, 80486, 68030 etc. when you transfer control to the CPU board the relevant TMA0-TMA3 line should light up.

Now will next add the Status and Control Display Circuits. Add the LED's in their correct orientation.
Add U4, U5, U6, U2, U18, U20 and  U103.
Insert the board into your bus and boot up.  Some of the LEDs should flicker.  You can write various small programs in RAM to check the appropriate status signals are correct.
For example in RAM at
0H:-
C3 00 00
with the
G0 command should have the sMEMR LER light up (but not any others on that top row).

Next insert U23 and check the >64K LED only lights up when you access RAM above 64K (typically with a 16 bit CPU, or CPM3).

Now will next add the Interrupt lines Display Circuit. Add the LED's in their correct orientation.  
Add U17, U22, U24 and U25.  Insert the board into your bus and boot up.  In tour typical/default mode Interrupt V1* should flicker when you enter a keyboard character.

Now will next add the Stop/Single  Circuit.
Add the two push buttons.  Be sure you have the orientation such that the top pair of pads short to the bottom pair of pads when the button is pressed.  
Add U26, U27, U16 and U15.  Insert the board into your bus and boot up.  Type:-
D0,FFFFH
As the RAM is being displayed press the SW1 "Stop" button once.  The CPU will halt.
Next press the SW2 "Single Step" button multiple times.   You will see the address lines change as the CPU steps along through RAM.
Press the "Stop" button again and the CPU will continue forward as if nothing happened.

Finally we will add the on-board Logic Probe circuit. 
Add U19, U28 and U29.  Add the two buzzers.  Don't solder them in yet until you decide on the high/low sounds.
Power up. Attach a probe to P3.  You can then use the four LEDs (D72, D73, D74 and D68) to analyze the high/low status of any signal in your system.
 
If you have a Logic Analyzer you can construct a cable to hook-up some of the critical S100 bus signals to it via a ribbon cable to p2.

Jumpers
The bottom 3 jumpers are for to be complaint with IEEE-696 extra ground lines. -- not really necessary and do not use on old motherboards.  The middle jumpers are for activating the buzzers and a choice of either on all the time, or with a pulse, for the logic probe. 


Bugs & Corrections
There are two small layout bugs on this board. Please make a note of them before building the board.
1.  The two 1.0uF capacitors (C58 and C59) in the debounce circuit for the Stop & Single Step circuit ended up in a strange position on the board. They are above U17 and U22.  They work fine there, just be sure you don't put a 0.1uF filter cap in those positions. Be sure you have the + side of the capacitor on the RHS in both cases.
Here is a picture of their locations.
   
     Setp 4


2.   There is an error for the network resistor to LED D18.  It's currently PUB9. This connection needs to be cut on the back of the board and a 470 Ohm resistor jumpered to Vcc. Please carefully review the picture below. Here is a picture of how the board should be modified.
  
     Step 4
    
Both these errors have been corrected in the V1.21 version of this board. Do not cut the above trace, The debounce caps C58 & C59 have also been relocated. 
Unfortunarely I forgot to change the silkscreen on the board to read "V1.21" and a new date (4/11/2019). It still reads V1.2 - please note.


Finally please keep in mind that this board displays the S100 bus lines e.g. RAM values. In most cases that is also what the current bus master/CPU sees. However if you are monitoring the bus from an onboard ROM on your CPU card this bus display card will actually display something different, because, in those cases the data does not come from the bus. The data in buffer(s) are in fact inactive. The data to the CPU comes from the onboard ROM(s). The above Bus Display board will actually display the bus RAM bytes "under' the onboard CPU ROM.  If you want to step through your monitor ROM code,  reassemble and relocate it to RAM and jump to it there.  There are other ways for those more experienced.


A Production S-100 Board
Realizing that a number of people might want to utilize a board like this together with a group of people on the  Google Groups S100Computers Forum, a "group purchases" was done. This process is now closed. If you would like such a board please keep an eye on the forum for when another run is done.  Do not contact me directly.


The links below will contain the most recent schematic of this board.
Note, it may change over time and some IC part or pin numbers may not correlate exactly with the text in the article above.

BUS DISPLAY BOARD SCHEMATIC     (FINAL V1.2   2/14/2017)
BUS DISPLAY BOARD KiCAD Files     (FINAL V1.2  1/25/2017)                
BUS DISPLAY BOARD Gerber Files     (FINAL V1.2  2/14/2017)
BUS DISPLAY BOARD BOM.PDF             (FINAL V1.2  5/20/2019)   (Supplied by Rick Bromagem)
BUS DISPLAY BOARD BOM.XLS               (FINAL V1.2   5/20/2019)   (Supplied by Rick Bromagem)

BUS DISPLAY BOARD LAYOUT.PDF
    (FINAL V1.2   5/20/2019)   (Supplied by Rick Bromagem)


BUS DISPLAY BOARD Gerber Files    (FINAL V1.21  4/11/2019)
BUS DISPLAY BOARD KiCAD Folder (.ZIP)    (FINAL V1.21  4/11/2019)

BUS DISPLAY BOARD V1.21 Schematic (.PDF)   (FINAL V1.21  4/11/2019)

Other pages describing my S-100 hardware and software.

Please click here to continue...

 

This page was last modified on 05/20/2019